package com.hyny.framework.platform.system.entity.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.hyny.framework.platform.system.enums.MenuOrFieldPowerTreeEnum;
import com.hyny.framework.platform.system.enums.MenuTypeEnum;
import com.hyny.framework.base.enums.YesOrNoEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

@ApiModel("角色授权树状接口，包含菜单和字段权限")
@Data
public class MenuFieldPowerTreeVO {

    @ApiModelProperty(value="编码",required=true,position=1)
    private String id;
    @ApiModelProperty(value="名称",required=true,position=2)
    private String title;
    @ApiModelProperty(value="父菜编码",required=true,position=3)
    private String parentId;
    @ApiModelProperty(value="类型标识",required=true,position=4)
    private MenuOrFieldPowerTreeEnum treeType;
    @ApiModelProperty(value="是否选中",required=true,position=5)
    private YesOrNoEnum isSelected;
    @ApiModelProperty(value="子集",required=true,position=6)
    private List<MenuFieldPowerTreeVO> childMenuFieldPowerTrees;

    /**
     * 字段权限id
     **/
    @ApiModelProperty(hidden = true)
    @JsonProperty(access = JsonProperty.Access.READ_WRITE)
    private Long fieldPowerId;
    /**
     * 菜单类型（M目录 C菜单 F按钮）
     **/
    @ApiModelProperty(hidden = true)
    @JsonProperty(access = JsonProperty.Access.READ_WRITE)
    private MenuTypeEnum menuType;


}
